1. Technical Field
This application generally relates to data storage, and more particularly to techniques used for data storage configuration.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more servers or host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and the storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data in the device. In order to facilitate sharing of the data on the device, additional software on the data storage systems may also be used.
Different tasks may be performed in connection with a data storage system. For example, a customer may perform data storage management tasks and operations such as viewing information regarding a status or current configuration, configuring and provisioning data storage for use with an application as may reside on a host system, and the like. Data storage management software may be developed for use in performing the foregoing and other data storage management tasks and operations. The software may be written to take into account one or more data models. A first data model may be a low-level data model associated with the underlying data storage system. The foregoing first data model may not include elements which are appropriate for direct use or consumption by a user interface. As such, the software may be developed to utilize the first data model and place it in a form appropriate for user interactions. Depending how the software is designed, changes to an underlying low-level data model may require modification of many code modules including those associated with the user interface. In connection with the foregoing, it may be desirable that the software is designed in a manner which seeks to minimize the code modifications required. Additionally, a new technology may be used in connection with implementation of the user interface. It may be desirable to use existing code currently deployed with other technologies with the new technology. Furthermore, a user interface may be used in connection with different data storage systems each having a different low-level data model. It may be desirable to utilize a common set of user interface modules with each of the different low-level data models. Thus, it may be desirable to use techniques in connection with the development of the software for data storage management which promotes efficiency by modular design and code reuse.